var templateTamanho;
var tamanhos    	= new Array();
var ingredientes 	= new Array();

$(document).ready(function(){
	
	$("input[name*=tamanho_preco]").maskMoney({thousands:'', decimal:'.'});
	$("input[name=preco_ingrediente]").maskMoney({thousands:'', decimal:'.'});
	
	$("#form_item").validate({
		rules: {
			'categoria': {
				required: true
			},
			'desc_item': {
				required: true
			},
			'ativo': {
				required: true
			},
			'obs': {
				required: true
			}
		}
	});

	$("#form_tamanho").validate({
		rules: {
			'abreviatura': {
				required: true,
				maxlength: 15
			},
			'descricao': {
				required: true
			}
		},
		submitHandler: submitFormTamanho
	});

	templateTamanho = jQuery.validator.format($.trim($("#templateTamanho").val()));
	carregaTamanhos();

	$(".btnAddTamanho").live('click', addTamanho);
	$(".btnNovoTamanho").live('click', novoTamanho);

	$("#form_ingrediente").validate({
		rules: {
			'nome_ingrediente': {
				required: true
			},
			'preco_ingrediente': {
				required: true
			}
		},
		submitHandler: submitFormIngrediente
	});
	
	carregaIngredientes();

	$(".btnNovoIngrediente").live('click', novoIngrediente);


	$("input[name=desc_item]").focus();
});

// 
// Tamanhos
//

function carregaTamanhos(){
	$("select[name=tamanho_cod_auto_1] option").each(function(){
		if($(this).val()!=''){
			tamanhos.push({"cod":$(this).val(),"desc":$(this).text()});
		}
	});
}

function addTamanho(e){
	if(e != undefined){
		e.preventDefault();
	}

	$select = $(templateTamanho($("#tabelaTamanho tbody tr").length + 1)).appendTo("#tabelaTamanho tbody").find('select');
	$select.focus();

	for(var t in tamanhos){
		$select.append("<option value='"+tamanhos[t].cod+"'>"+tamanhos[t].desc+"</option>");	
	}

	$("input[name*=tamanho_preco]").maskMoney({thousands:'', decimal:'.'});
}

function novoTamanho(e){
	e.preventDefault();
	$("#modalTamanho form").reset();
	$("#modalTamanho").modal("show");
}

function submitFormTamanho(f,e){
	e.preventDefault();

	$.ajax({
		type: "POST",
		url: $(f).attr("action"),
		data: $(f).serialize(),
		success: function(data){ 
		  	if(data.result){
		  		$.ajax({
					type: 'GET',
					url: $("#form_tamanho input[name=url_tamanhos]").val(),
					data: '',
					success: function(data){
					  	tamanhos = data;
					  	atualizaTamanhos();

					  	var boxNovoTamanho = "#boxNovoTamanho";
						var boxTamanhos = "#tabelaTamanho";
						$("#boxNovoTamanho").hide(0);
						$("#tabelaTamanho").removeClass("hidden");
						$("#modalTamanho").modal("hide");
						//addTamanho();
					},
					dataType: "json"
				});
		  	}else{
		  		$("#modalTamanho .alert").removeClass('alert-success').addClass('alert-danger').text(data.message).fadeIn("fast").removeClass("hidden");
		  	}
		},
		dataType: "json"
	});	
}

function atualizaTamanhos(){
	$("select[name*=tamanho_cod_auto]").append("<option value='"+tamanhos[tamanhos.length-1].cod+"'>"+tamanhos[tamanhos.length-1].desc+"</option>");
}

//
// Ingredientes
//

function carregaIngredientes(){
	$("select[name=cod_ingre_auto_1] option").each(function(){
		if($(this).val()!=''){
			ingredientes.push({"cod":$(this).val(),"desc":$(this).text()});
		}
	});
}

function novoIngrediente(e){
	e.preventDefault();
	$("#modalIngrediente form").reset();
	$("#modalIngrediente").modal("show");
}


function submitFormIngrediente(f,e){
	e.preventDefault();

	$.ajax({
		type: "POST",
		url: $(f).attr("action"),
		data: $(f).serialize(),
		success: function(data){ 
		  	if(data.result){
		  		$.ajax({
					type: 'GET',
					url: $("#form_ingrediente input[name=url_ingredientes]").val(),
					data: '',
					success: function(data){
					  	ingredientes = data;
					  	atualizaIngredientes();
						$("#modalIngrediente").modal("hide");
					},
					dataType: "json"
				});
		  	}else{
		  		$("#modalIngrediente .alert").removeClass('alert-success').addClass('alert-danger').text(data.message).fadeIn("fast").removeClass("hidden");
		  	}
		},
		dataType: "json"
	});	
}

function atualizaIngredientes(){
	$("#tabelaIngredientes").show(0);
	$("#boxNovoIngrediente").hide(0);
	$("select[name*=cod_ingre_auto_]").append("<option value='"+ingredientes[ingredientes.length-1].cod+"'>"+ingredientes[ingredientes.length-1].desc+"</option>");
}